﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace TES.WEB.EnteRegulador
{
   
    public class ComparadorDetallesEnlace : IComparer<DetallesEnlace>
    {
        private string _propiedad;
        #region IComparer<MockMerge>      Members

        public ComparadorDetallesEnlace(string propiedad)
        {
            _propiedad = propiedad;
        }

        public int Compare(DetallesEnlace detalles1, DetallesEnlace detalles2)
        {
            int returnValue = 1;
            if (detalles1 != null && detalles1 != null)
            {
                switch (_propiedad)
                {
                    case "NumeroRed": returnValue = detalles2.NumeroRed.CompareTo(detalles1.NumeroRed); break;
                    case "Enlace": returnValue = detalles2.Enlace.CompareTo(detalles1.Enlace); break;
                    case "Regional": returnValue = detalles2.Regional.CompareTo(detalles1.Regional); break;
                    case "EstadoEnlace": returnValue = detalles2.EstadoEnlace.CompareTo(detalles1.EstadoEnlace); break;
                    case "EstadoLegalizacion": returnValue = detalles2.EstadoLegalizacion.CompareTo(detalles1.EstadoLegalizacion); break;
                    case "Completo": returnValue = detalles2.Completo.CompareTo(detalles1.Completo); break;
                    
                }
            }

            return returnValue;
        }

        #endregion
    }

    public class ComparadorLegalizacionesVigentes : IComparer<LegalizacionesVigentes>
    {
        private string _propiedad;
        

        public ComparadorLegalizacionesVigentes(string propiedad)
        {
            _propiedad = propiedad;
        }

        public int Compare(LegalizacionesVigentes legalizacion1, LegalizacionesVigentes legalizacion2)
        {
            int returnValue = 1;
            if (legalizacion1 != null && legalizacion2 != null)
            {
                switch (_propiedad)
                {
                    case "Codigo": returnValue = legalizacion2.Codigo.CompareTo(legalizacion1.Codigo); break;
                    case "Creacion": returnValue = legalizacion2.Creacion.CompareTo(legalizacion1.Creacion); break;
                    case "Creador": returnValue = legalizacion2.Creador.CompareTo(legalizacion1.Creador); break;
                    case "Estado": returnValue = legalizacion2.Estado.CompareTo(legalizacion1.Estado); break;
                    case "NumeroRadicacion": returnValue = legalizacion2.NumeroRadicacion.CompareTo(legalizacion1.NumeroRadicacion); break;
                    case "Radicacion": returnValue = legalizacion2.Radicacion.CompareTo(legalizacion1.Radicacion); break;

                }
            }

            return returnValue;
        }

        
    }


}
